<template>
  <div>
    <a-upload
      :file-list="fileList"
      list-type="picture"
      action="//jsonplaceholder.typicode.com/posts/"
      :preview-file="previewFile"
    >
      <a-button>
        <upload-outlined></upload-outlined>
        上传文件
      </a-button>
    </a-upload>
  </div>
</template>
<script>
import { UploadOutlined } from '@ant-design/icons-vue';
import { defineComponent, ref } from 'vue';
export default defineComponent({
  components: {
    UploadOutlined,
  },

  setup() {
    const previewFile = async file => {
      console.log('Your upload file:', file); // Your process logic. Here we just mock to the same file

      const res = await fetch('https://next.json-generator.com/api/json/get/4ytyBoLK8', {
        method: 'POST',
        body: file,
      });
      const {
        thumbnail,
      } = await res.json();
      return thumbnail;
    };

    return {
      previewFile,
      fileList: ref([]),
    };
  },

});
</script>